package org.fjsei.yewu.security;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 用于Redis KV存储的: 设备信息类 - 用于识别和追踪不同的客户端设备
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeviceInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 设备唯一标识符（由前端生成并传递）
     */
    private String deviceId;

    /**
     * 设备类型：WEB, MOBILE_IOS, MOBILE_ANDROID, DESKTOP等
     */
    private String deviceType;

    /**
     * 设备名称（用户可读）
     */
    private String deviceName;

    /**
     * User-Agent信息
     */
    private String userAgent;

    /**
     * IP地址
     */
    private String ipAddress;

    /**
     * 最后活跃时间
     */
    private Long lastActiveTime;
}
